_gtk_widget_enable_device_events (widget);
gtk_widget_update_devices_mask (widget, TRUE);
- if (gtk_widget_is_toplevel (widget))
- gdk_window_set_opacity (priv->window,
- priv->alpha / 255.0);
+ gtk_widget_update_alpha (widget);
if (priv->context)
gtk_style_context_set_scale (priv->context, gtk_widget_get_scale_factor (widget));
gtk_widget_update_alpha (GtkWidget *widget)
{
GtkWidgetPrivate *priv;
+ GtkStyleContext *context;
gdouble opacity;
guint8 alpha;
alpha = priv->user_alpha;
- if (priv->context)
- {
- opacity =
- _gtk_css_number_value_get (_gtk_style_context_peek_property (priv->context,
- GTK_CSS_PROPERTY_OPACITY),
- 100);
- opacity = CLAMP (opacity, 0.0, 1.0);
- alpha = round (priv->user_alpha * opacity);
- }
+ context = gtk_widget_get_style_context (widget);
+ opacity =
+ _gtk_css_number_value_get (_gtk_style_context_peek_property (context,
+ GTK_CSS_PROPERTY_OPACITY),
+ 100);
+ opacity = CLAMP (opacity, 0.0, 1.0);
+ alpha = round (priv->user_alpha * opacity);
if (alpha == priv->alpha)
return;
opacity.css \
opacity.ui \
opacity.ref.ui \
+ opacity-initial.css \
+ opacity-initial.ref.ui \
+ opacity-initial.ui \
overlay-no-main-widget.ref.ui \
overlay-no-main-widget.ui \
paned-undersized.css \
--- /dev/null
+GtkLabel {
+ opacity: 0;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.18.1 -->
+<interface>
+ <requires lib="gtk+" version="3.12"/>
+ <object class="GtkWindow" id="window1">
+ <property name="width_request">200</property>
+ <property name="height_request">100</property>
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ </object>
+</interface>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.18.1 -->
+<interface>
+ <requires lib="gtk+" version="3.12"/>
+ <object class="GtkWindow" id="window1">
+ <property name="width_request">200</property>
+ <property name="height_request">100</property>
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkOverlay" id="overlay1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child type="overlay">
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">I'm the invisible label.
+Incredible how you can
+see right through me.</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>